Skip to content

perf improvements#855

Merged
techniq merged 11 commits into
nextfrom
sean/perf-fixes
May 1, 2026
Merged

perf improvements#855
techniq merged 11 commits into
nextfrom
sean/perf-fixes

Conversation

@techniq
Copy link
Copy Markdown
Owner

@techniq techniq commented Apr 30, 2026

No description provided.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 30, 2026

🦋 Changeset detected

Latest commit: bec6a05

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
layerchart Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented Apr 30, 2026

Open in StackBlitz

npm i https://pkg.pr.new/layerchart@855

commit: bec6a05

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 30, 2026

Bundle Size Analysis

⚠️ Warnings (8 significant size increases)

Item Current New Change
🔴 ChartClipPath 51.19 KB
12.13 gz
53.79 KB
12.76 gz
+2.60 KB (+5.1%)
+0.63 gz (+5.2%)
🔴 ChartClipPath.svg 47.36 KB
11.57 gz
49.96 KB
12.20 gz
+2.60 KB (+5.5%)
+0.62 gz (+5.4%)
🔴 ChartClipPath.html 46.68 KB
11.36 gz
49.28 KB
12.00 gz
+2.60 KB (+5.6%)
+0.64 gz (+5.6%)
🔴 ChartClipPath.canvas 46.38 KB
11.32 gz
48.97 KB
11.95 gz
+2.59 KB (+5.6%)
+0.63 gz (+5.6%)
🔴 RectClipPath 8.59 KB
2.33 gz
11.18 KB
2.98 gz
+2.59 KB (+30.1%)
+0.65 gz (+27.7%)
🔴 RectClipPath.svg 5.13 KB
1.76 gz
7.71 KB
2.40 gz
+2.57 KB (+50.1%)
+0.64 gz (+36.5%)
🔴 RectClipPath.canvas 4.16 KB
1.49 gz
6.74 KB
2.14 gz
+2.57 KB (+61.8%)
+0.65 gz (+43.9%)
🔴 RectClipPath.html 4.46 KB
1.56 gz
7.04 KB
2.22 gz
+2.57 KB (+57.7%)
+0.66 gz (+41.9%)

Use-Case Scenarios

Core (7 changed)
Scenario Current New Change
🟡 core-line 215.17 KB
56.18 gz
215.51 KB
56.27 gz
+0.34 KB (+0.2%)
+0.09 gz (+0.2%)
🟡 core-canvas 212.43 KB
56.26 gz
212.78 KB
56.37 gz
+0.34 KB (+0.2%)
+0.11 gz (+0.2%)
🟡 core-scatter 212.22 KB
54.85 gz
212.56 KB
54.96 gz
+0.33 KB (+0.2%)
+0.11 gz (+0.2%)
🟡 core-geo 208.75 KB
54.66 gz
209.10 KB
54.79 gz
+0.34 KB (+0.2%)
+0.13 gz (+0.2%)
🟡 core-html 196.46 KB
51.30 gz
196.80 KB
51.41 gz
+0.34 KB (+0.2%)
+0.11 gz (+0.2%)
🟡 core-svg 194.57 KB
50.88 gz
194.91 KB
50.97 gz
+0.34 KB (+0.2%)
+0.10 gz (+0.2%)
🟡 core 194.56 KB
50.93 gz
194.91 KB
51.05 gz
+0.34 KB (+0.2%)
+0.12 gz (+0.2%)
Base (agnostic) (4 changed)
Scenario Current New Change
🟡 base-svg-agnostic 351.67 KB
82.09 gz
352.01 KB
82.18 gz
+0.34 KB (+0.1%)
+0.09 gz (+0.1%)
🟡 base-canvas-agnostic 351.67 KB
82.09 gz
352.01 KB
82.20 gz
+0.34 KB (+0.1%)
+0.10 gz (+0.1%)
🟡 base-html-agnostic 351.67 KB
82.09 gz
352.01 KB
82.19 gz
+0.34 KB (+0.1%)
+0.10 gz (+0.1%)
🟡 base 351.67 KB
82.09 gz
352.01 KB
82.18 gz
+0.34 KB (+0.1%)
+0.09 gz (+0.1%)
Base (layer-specific) (3 changed)
Scenario Current New Change
🟡 base-canvas 336.37 KB
79.09 gz
336.72 KB
79.20 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.1%)
🟡 base-html 332.15 KB
77.97 gz
332.49 KB
78.09 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.2%)
🟡 base-svg 330.26 KB
77.54 gz
330.60 KB
77.68 gz
+0.34 KB (+0.1%)
+0.14 gz (+0.2%)
Cartesian charts (27 changed)
Scenario Current New Change
🟡 PieChart 391.05 KB
90.54 gz
391.39 KB
90.63 gz
+0.33 KB (+0.1%)
+0.09 gz (+0.1%)
🟡 ArcChart 384.33 KB
89.38 gz
384.67 KB
89.48 gz
+0.34 KB (+0.1%)
+0.10 gz (+0.1%)
🟡 LineChart 376.05 KB
88.29 gz
376.40 KB
88.39 gz
+0.34 KB (+0.1%)
+0.10 gz (+0.1%)
🟡 PieChart-canvas 373.58 KB
86.96 gz
373.91 KB
87.06 gz
+0.33 KB (+0.1%)
+0.10 gz (+0.1%)
🟡 AreaChart 369.65 KB
86.00 gz
369.99 KB
86.09 gz
+0.33 KB (+0.1%)
+0.09 gz (+0.1%)
🟡 PieChart-svg 367.48 KB
85.42 gz
367.82 KB
85.52 gz
+0.34 KB (+0.1%)
+0.10 gz (+0.1%)
🟡 ArcChart-canvas 367.40 KB
85.96 gz
367.75 KB
86.08 gz
+0.34 KB (+0.1%)
+0.13 gz (+0.1%)
🟡 line-chart-interactive 366.68 KB
85.42 gz
367.02 KB
85.51 gz
+0.34 KB (+0.1%)
+0.09 gz (+0.1%)
🟡 area-chart 365.35 KB
85.07 gz
365.69 KB
85.14 gz
+0.33 KB (+0.1%)
+0.07 gz (+0.1%)
🟡 pie-chart 364.12 KB
84.73 gz
364.45 KB
84.82 gz
+0.33 KB (+0.1%)
+0.08 gz (+0.1%)
🟡 BarChart 362.09 KB
84.09 gz
362.44 KB
84.20 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 ArcChart-svg 361.30 KB
84.37 gz
361.64 KB
84.48 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 ScatterChart 356.38 KB
83.20 gz
356.72 KB
83.29 gz
+0.34 KB (+0.1%)
+0.08 gz (+0.1%)
🟡 bar-chart 356.21 KB
82.86 gz
356.55 KB
82.97 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 AreaChart-canvas 353.58 KB
82.87 gz
353.91 KB
82.99 gz
+0.33 KB (+0.1%)
+0.12 gz (+0.1%)
🟡 scatter-chart 352.92 KB
82.53 gz
353.26 KB
82.61 gz
+0.34 KB (+0.1%)
+0.09 gz (+0.1%)
🟡 line-chart 352.15 KB
82.11 gz
352.50 KB
82.22 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 AreaChart-svg 347.47 KB
81.36 gz
347.81 KB
81.47 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 BarChart-canvas 345.72 KB
80.92 gz
346.07 KB
81.02 gz
+0.34 KB (+0.1%)
+0.10 gz (+0.1%)
🟡 LineChart-canvas 343.38 KB
80.77 gz
343.73 KB
80.88 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 ScatterChart-canvas 340.03 KB
79.83 gz
340.38 KB
79.94 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 BarChart-svg 339.63 KB
79.40 gz
339.97 KB
79.52 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.2%)
🟡 LineChart-svg 337.28 KB
79.21 gz
337.63 KB
79.33 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.2%)
🟡 line-chart-canvas 336.40 KB
79.10 gz
336.74 KB
79.22 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.1%)
🟡 ScatterChart-svg 333.93 KB
78.29 gz
334.28 KB
78.40 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 line-chart-html 332.17 KB
77.98 gz
332.51 KB
78.10 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.2%)
🟡 line-chart-svg 330.28 KB
77.54 gz
330.63 KB
77.68 gz
+0.34 KB (+0.1%)
+0.14 gz (+0.2%)
Geo (3 changed)
Scenario Current New Change
🟡 geo-full 425.89 KB
101.08 gz
426.23 KB
101.20 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.1%)
🟡 geo-tiles 373.67 KB
87.54 gz
374.01 KB
87.65 gz
+0.34 KB (+0.1%)
+0.11 gz (+0.1%)
🟡 geo 368.60 KB
85.92 gz
368.95 KB
86.02 gz
+0.34 KB (+0.1%)
+0.10 gz (+0.1%)
Hierarchy (3 changed)
Scenario Current New Change
🟡 hierarchy-tree 393.67 KB
92.25 gz
393.80 KB
92.28 gz
+0.13 KB (+0.0%)
+0.03 gz (+0.0%)
🟡 hierarchy-treemap 372.98 KB
87.26 gz
373.33 KB
87.38 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.1%)
🟡 hierarchy-pack 372.71 KB
87.35 gz
373.05 KB
87.46 gz
+0.34 KB (+0.1%)
+0.12 gz (+0.1%)
Graph / network (4 changed)
Scenario Current New Change
🟡 dagre 452.24 KB
108.25 gz
452.37 KB
108.26 gz
+0.13 KB (+0.0%)
+0.01 gz (+0.0%)
🟡 force 396.08 KB
93.11 gz
396.21 KB
93.10 gz
+0.13 KB (+0.0%)
-0.01 gz (-0.0%)
🟡 sankey 395.81 KB
92.50 gz
395.94 KB
92.50 gz
+0.13 KB (+0.0%)
+0.00 gz (+0.0%)
🟡 chord 361.37 KB
84.26 gz
361.71 KB
84.37 gz
+0.35 KB (+0.1%)
+0.11 gz (+0.1%)
Components (77 changed)
Scenario Current New Change
🟡 AnnotationPoint 182.94 KB
43.58 gz
182.78 KB
43.57 gz
-0.17 KB (-0.1%)
-0.01 gz (-0.0%)
🟡 Hull 176.92 KB
46.81 gz
177.12 KB
46.85 gz
+0.19 KB (+0.1%)
+0.04 gz (+0.1%)
🟡 Hull.canvas 176.16 KB
46.74 gz
176.35 KB
46.76 gz
+0.19 KB (+0.1%)
+0.02 gz (+0.0%)
🟡 Hull.svg 176.16 KB
46.98 gz
176.35 KB
47.02 gz
+0.19 KB (+0.1%)
+0.04 gz (+0.1%)
🟡 Voronoi 173.37 KB
45.52 gz
173.56 KB
45.57 gz
+0.19 KB (+0.1%)
+0.05 gz (+0.1%)
🟡 Voronoi.svg 171.40 KB
45.43 gz
171.59 KB
45.46 gz
+0.19 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 Voronoi.canvas 170.42 KB
44.98 gz
170.61 KB
45.02 gz
+0.19 KB (+0.1%)
+0.04 gz (+0.1%)
🟡 Calendar 169.64 KB
40.02 gz
169.84 KB
40.07 gz
+0.20 KB (+0.1%)
+0.05 gz (+0.1%)
🟡 Bars 167.82 KB
41.99 gz
168.38 KB
42.24 gz
+0.56 KB (+0.3%)
+0.25 gz (+0.6%)
🟡 Bar 163.83 KB
41.34 gz
164.39 KB
41.62 gz
+0.56 KB (+0.3%)
+0.27 gz (+0.7%)
🟡 AnnotationPoint.svg 163.73 KB
39.43 gz
163.53 KB
39.41 gz
-0.20 KB (-0.1%)
-0.02 gz (-0.1%)
🟡 Contour 161.38 KB
44.01 gz
161.57 KB
44.10 gz
+0.19 KB (+0.1%)
+0.09 gz (+0.2%)
🟡 Calendar.svg 156.05 KB
37.78 gz
156.25 KB
37.86 gz
+0.20 KB (+0.1%)
+0.08 gz (+0.2%)
🟡 Calendar.canvas 153.77 KB
37.02 gz
153.96 KB
37.09 gz
+0.19 KB (+0.1%)
+0.07 gz (+0.2%)
🟡 Bars.svg 150.46 KB
38.13 gz
150.99 KB
38.32 gz
+0.53 KB (+0.4%)
+0.20 gz (+0.5%)
🟡 AnnotationPoint.canvas 151.10 KB
37.45 gz
150.80 KB
37.38 gz
-0.30 KB (-0.2%)
-0.06 gz (-0.2%)
🟡 Contour.svg 150.52 KB
41.01 gz
150.67 KB
41.08 gz
+0.16 KB (+0.1%)
+0.07 gz (+0.2%)
🟡 Bars.canvas 148.03 KB
38.26 gz
148.47 KB
38.41 gz
+0.43 KB (+0.3%)
+0.14 gz (+0.4%)
🟡 Contour.canvas 147.92 KB
41.26 gz
147.98 KB
41.29 gz
+0.06 KB (+0.0%)
+0.03 gz (+0.1%)
🟡 Bar.svg 146.92 KB
37.53 gz
147.45 KB
37.71 gz
+0.53 KB (+0.4%)
+0.17 gz (+0.5%)
🟡 ArcLabel 146.72 KB
35.86 gz
146.91 KB
35.95 gz
+0.20 KB (+0.1%)
+0.10 gz (+0.3%)
🟡 Bar.canvas 140.68 KB
37.01 gz
141.11 KB
37.16 gz
+0.43 KB (+0.3%)
+0.15 gz (+0.4%)
🟡 Pie 137.32 KB
36.43 gz
137.88 KB
36.70 gz
+0.56 KB (+0.4%)
+0.26 gz (+0.7%)
🟡 ArcLabel.svg 135.91 KB
33.16 gz
136.08 KB
33.22 gz
+0.17 KB (+0.1%)
+0.06 gz (+0.2%)
🟡 Arc 132.08 KB
35.39 gz
132.63 KB
35.67 gz
+0.56 KB (+0.4%)
+0.28 gz (+0.8%)
🟡 Violin 131.02 KB
30.44 gz
131.22 KB
30.52 gz
+0.20 KB (+0.2%)
+0.07 gz (+0.2%)
🟡 Density 130.46 KB
35.54 gz
130.65 KB
35.65 gz
+0.19 KB (+0.1%)
+0.11 gz (+0.3%)
🟡 Pie.svg 126.34 KB
33.35 gz
126.87 KB
33.48 gz
+0.53 KB (+0.4%)
+0.13 gz (+0.4%)
🟡 Threshold 123.60 KB
30.08 gz
123.79 KB
30.14 gz
+0.20 KB (+0.2%)
+0.06 gz (+0.2%)
🟡 ArcLabel.canvas 123.46 KB
31.30 gz
123.52 KB
31.34 gz
+0.06 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 Arc.svg 121.26 KB
32.32 gz
121.79 KB
32.48 gz
+0.53 KB (+0.4%)
+0.16 gz (+0.5%)
🟡 Density.svg 119.60 KB
32.56 gz
119.76 KB
32.62 gz
+0.16 KB (+0.1%)
+0.06 gz (+0.2%)
🟡 Pie.canvas 117.16 KB
32.15 gz
117.59 KB
32.26 gz
+0.43 KB (+0.4%)
+0.11 gz (+0.4%)
🟡 Area 117.18 KB
28.92 gz
117.37 KB
28.97 gz
+0.20 KB (+0.2%)
+0.04 gz (+0.1%)
🟡 Density.canvas 117.00 KB
32.78 gz
117.06 KB
32.81 gz
+0.06 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 GeoSpline 115.77 KB
30.83 gz
115.97 KB
30.89 gz
+0.19 KB (+0.2%)
+0.05 gz (+0.2%)
🟡 Violin.svg 115.14 KB
26.58 gz
115.31 KB
26.63 gz
+0.16 KB (+0.1%)
+0.06 gz (+0.2%)
🟡 Arc.canvas 112.08 KB
31.11 gz
112.51 KB
31.25 gz
+0.43 KB (+0.4%)
+0.14 gz (+0.5%)
🟡 Threshold.svg 111.18 KB
26.83 gz
111.35 KB
26.88 gz
+0.16 KB (+0.1%)
+0.05 gz (+0.2%)
🟡 Violin.canvas 110.24 KB
26.53 gz
110.30 KB
26.58 gz
+0.06 KB (+0.1%)
+0.04 gz (+0.2%)
🟡 Link 107.19 KB
26.94 gz
107.03 KB
26.91 gz
-0.17 KB (-0.2%)
-0.03 gz (-0.1%)
🟡 Spline 106.26 KB
27.12 gz
106.45 KB
27.16 gz
+0.20 KB (+0.2%)
+0.04 gz (+0.1%)
🟡 Area.svg 106.14 KB
25.88 gz
106.30 KB
25.96 gz
+0.16 KB (+0.2%)
+0.07 gz (+0.3%)
🟡 GeoSpline.svg 104.95 KB
27.82 gz
105.11 KB
27.87 gz
+0.16 KB (+0.2%)
+0.05 gz (+0.2%)
🟡 Graticule 103.51 KB
26.52 gz
103.71 KB
26.59 gz
+0.20 KB (+0.2%)
+0.07 gz (+0.3%)
🟡 GeoCircle 102.33 KB
26.50 gz
102.52 KB
26.56 gz
+0.20 KB (+0.2%)
+0.06 gz (+0.2%)
🟡 Threshold.canvas 102.23 KB
25.52 gz
102.30 KB
25.56 gz
+0.06 KB (+0.1%)
+0.04 gz (+0.2%)
🟡 GeoPath 98.35 KB
25.36 gz
98.55 KB
25.39 gz
+0.20 KB (+0.2%)
+0.03 gz (+0.1%)
🟡 Area.canvas 98.13 KB
24.71 gz
98.19 KB
24.74 gz
+0.06 KB (+0.1%)
+0.02 gz (+0.1%)
🟡 Link.svg 96.23 KB
23.93 gz
96.03 KB
23.92 gz
-0.20 KB (-0.2%)
-0.01 gz (-0.1%)
🟡 GeoSpline.canvas 95.86 KB
26.43 gz
95.92 KB
26.45 gz
+0.06 KB (+0.1%)
+0.02 gz (+0.1%)
🟡 Spline.svg 95.44 KB
24.14 gz
95.60 KB
24.19 gz
+0.16 KB (+0.2%)
+0.05 gz (+0.2%)
🟡 Trail 93.50 KB
23.95 gz
93.67 KB
23.97 gz
+0.18 KB (+0.2%)
+0.03 gz (+0.1%)
🟡 Vector 93.03 KB
23.42 gz
93.22 KB
23.45 gz
+0.19 KB (+0.2%)
+0.03 gz (+0.1%)
🟡 Graticule.svg 92.46 KB
23.44 gz
92.63 KB
23.50 gz
+0.16 KB (+0.2%)
+0.06 gz (+0.3%)
🟡 GeoCircle.svg 91.33 KB
23.40 gz
91.49 KB
23.46 gz
+0.16 KB (+0.2%)
+0.07 gz (+0.3%)
🟡 Graticule.canvas 89.86 KB
23.60 gz
89.92 KB
23.63 gz
+0.06 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 GeoPath.svg 87.54 KB
22.32 gz
87.70 KB
22.35 gz
+0.16 KB (+0.2%)
+0.04 gz (+0.2%)
🟡 Link.canvas 87.98 KB
22.81 gz
87.68 KB
22.76 gz
-0.30 KB (-0.3%)
-0.05 gz (-0.2%)
🟡 Spline.canvas 87.42 KB
22.90 gz
87.49 KB
22.92 gz
+0.06 KB (+0.1%)
+0.02 gz (+0.1%)
🟡 Path 84.10 KB
21.28 gz
84.29 KB
21.33 gz
+0.19 KB (+0.2%)
+0.06 gz (+0.3%)
🟡 Trail.svg 82.68 KB
20.98 gz
82.83 KB
21.02 gz
+0.14 KB (+0.2%)
+0.04 gz (+0.2%)
🟡 Vector.svg 82.22 KB
20.44 gz
82.37 KB
20.49 gz
+0.16 KB (+0.2%)
+0.05 gz (+0.2%)
🟡 GeoCircle.canvas 82.22 KB
21.91 gz
82.29 KB
21.94 gz
+0.06 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 GeoPath.canvas 78.43 KB
20.83 gz
78.49 KB
20.86 gz
+0.06 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 Vector.canvas 75.81 KB
19.89 gz
75.87 KB
19.92 gz
+0.06 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 Trail.canvas 74.92 KB
19.95 gz
74.96 KB
19.98 gz
+0.04 KB (+0.1%)
+0.03 gz (+0.1%)
🟡 Path.svg 73.31 KB
18.34 gz
73.47 KB
18.38 gz
+0.16 KB (+0.2%)
+0.05 gz (+0.3%)
🟡 Path.canvas 64.12 KB
16.94 gz
64.18 KB
16.96 gz
+0.06 KB (+0.1%)
+0.03 gz (+0.2%)
🔴 ChartClipPath 51.19 KB
12.13 gz
53.79 KB
12.76 gz
+2.60 KB (+5.1%)
+0.63 gz (+5.2%)
🔴 ChartClipPath.svg 47.36 KB
11.57 gz
49.96 KB
12.20 gz
+2.60 KB (+5.5%)
+0.62 gz (+5.4%)
🔴 ChartClipPath.html 46.68 KB
11.36 gz
49.28 KB
12.00 gz
+2.60 KB (+5.6%)
+0.64 gz (+5.6%)
🔴 ChartClipPath.canvas 46.38 KB
11.32 gz
48.97 KB
11.95 gz
+2.59 KB (+5.6%)
+0.63 gz (+5.6%)
🔴 RectClipPath 8.59 KB
2.33 gz
11.18 KB
2.98 gz
+2.59 KB (+30.1%)
+0.65 gz (+27.7%)
🔴 RectClipPath.svg 5.13 KB
1.76 gz
7.71 KB
2.40 gz
+2.57 KB (+50.1%)
+0.64 gz (+36.5%)
🔴 RectClipPath.html 4.46 KB
1.56 gz
7.04 KB
2.22 gz
+2.57 KB (+57.7%)
+0.66 gz (+41.9%)
🔴 RectClipPath.canvas 4.16 KB
1.49 gz
6.74 KB
2.14 gz
+2.57 KB (+61.8%)
+0.65 gz (+43.9%)
Worst case (1 changed)
Scenario Current New Change
🟡 all 990.58 KB
231.07 gz
991.39 KB
231.20 gz
+0.81 KB (+0.1%)
+0.13 gz (+0.1%)

Understanding this report
  • Use-case scenarios measure the bundle cost of common chart configurations (e.g. a line chart with axes)
  • Individual components measure each component imported in isolation
  • Svelte runtime is excluded; sizes reflect layerchart + its dependencies (d3, etc.)
  • When multiple components share dependencies (e.g. d3-scale), the real-world cost is lower than the sum of individual sizes
  • Changes smaller than 10 bytes or 0.1% are considered insignificant

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 30, 2026

built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
layerchart ✅ Ready (View Log) Visit Preview bec6a05

techniq and others added 2 commits April 30, 2026 20:46
…`undefined`"

This reverts b45f47a. Empirical measurements on the lattice (n=20,
760 links) and tree force-simulation examples showed the call-site
gating produced no measurable FPS difference vs. an unmodified
`createMotion` — the fast path at `motion.svelte.ts:197-213`
(passthrough returned when `motionProp === undefined`) already
covers the no-motion case.

  | Example  | Phase       | Before    | After (revert) |
  |----------|-------------|-----------|---------------:|
  | Lattice  | steady sim  | 6.46-6.53 | 6.52-6.58      |
  | Tree     | active sim  | 16.88-17.28 | 17.46-17.51  |

The 728-line, 13-file diff added per-call-site gates and null-check
fallbacks for an optimization that was already happening one layer
down. Reverting restores the simpler unconditional construction.

The Path.shared.svelte.ts merge keeps ee6b332's `#getPathData`
hot-path getter (which is independent of the motion-alloc question)
and switches the initial-pathData resolution to `resolvePathData()`
to handle the polymorphic `string | () => string` form added by
that commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@techniq techniq merged commit 3f00930 into next May 1, 2026
9 checks passed
@techniq techniq deleted the sean/perf-fixes branch May 1, 2026 01:01
@github-actions github-actions Bot mentioned this pull request May 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant